﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;

using Osiptel.HECO.BE;
using Osiptel.HECO.BL;

public partial class Views_AdminEscenarios_Frm_Proyecto : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string id = Request.Params["id"];

        hd_idProyecto.Value = id;
        Session["IDPROYECTO"] = id;
        //string sas = Request.QueryString[0];
    }

    [WebMethod]
    public static int InsertarProyecto(String nombre, String descripcion)
    {
        ProyectoBL objProyecto = new ProyectoBL();
        ProyectoBE objProyectoBE = new ProyectoBE();
        objProyectoBE.Nombre = nombre;
        objProyectoBE.Descripcion = descripcion;
        objProyectoBE.P03TipoProyecto = 0;
        objProyectoBE.UsuCre = "user1";
        int idProyecto = objProyecto.Insertar(objProyectoBE);
        HttpContext.Current.Session["IDPROYECTO"] = idProyecto;
        return idProyecto;
    }

    [WebMethod]
    public static ProyectoDatos ObtenerProyectoDatos(int idProyecto)
    {
        ProyectoBL objProyecto = new ProyectoBL();
        ProyectoDatos proyectoDatos = new ProyectoDatos();
        proyectoDatos.Proyecto = objProyecto.Obtener(idProyecto);
        return proyectoDatos;
    }

    [WebMethod]
    public static List<GrupoBE> ObtenerGrupos(int idProyecto)
    {
        GrupoBL objGrupo = new GrupoBL();
        List<GrupoBE> grupos = new List<GrupoBE>();
        grupos = objGrupo.ObtenerGruposByProyecto(idProyecto);
        return grupos;
    }

    [WebMethod]
    public static List<GrupoDetalleBE> ObtenerGrupoItems(int idGrupo)
    {
        GrupoDetalleBL objGrupoDetalle = new GrupoDetalleBL();
        List<GrupoDetalleBE> grupoDetalle = new List<GrupoDetalleBE>();
            grupoDetalle = objGrupoDetalle.ObtenerGruposDetByGrupo(idGrupo);
        return grupoDetalle;
    }

    [WebMethod]
    public static string DatosAExcel(List<GrupoBE> datos)
    {
        String rpta = "";
        ExcelApp excelApp = new ExcelApp();
        rpta = excelApp.GenerarExcel(datos);
        return rpta;
    }
    protected void lkb_descargar_Click(object sender, EventArgs e)
    {
        string filename = nombreExcel.Value;
        string path = System.Web.HttpContext.Current.Server.MapPath("~/ArchivosInversiones//" + filename);
        System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
        response.ClearContent();
        response.Clear();
        response.ContentType = "text/plain";
        response.AddHeader("Content-Disposition", "attachment; filename=" + filename + ";");
        response.TransmitFile(path);
        response.Flush();
        response.End();
    }
    [WebMethod]
    public static Boolean ContieneTipoAcceso(int idProyecto)
    {
        Boolean esAcceso = false;
        ProyectoBL objProyecto = new ProyectoBL();
        int cantidad = objProyecto.obtenerCantAccesosPorIdComp(idProyecto);
        if (cantidad > 0)
        {
            esAcceso = true;
        }
        return esAcceso;
    }

    [WebMethod]
    public static string BorrarGrupo(int idGrupo)
    {
        int idProyecto = Int32.Parse( HttpContext.Current.Session["IDPROYECTO"].ToString());
        GrupoBL grupoBL = new GrupoBL();
        GrupoBE gBorrar = new GrupoBE();
        gBorrar.UsuMod = "user1";
        gBorrar.IpMod = "192.168.1.1";
        gBorrar.IdGrupo = idGrupo;
        grupoBL.FBorrarGrupo(idProyecto, gBorrar);
        return "OK";
    }
}